package com.jell.purchase.model.Query;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class GoodsInfoQuery {
    /**
     * crm_goods_info
     */
    protected String orderByClause;

    /**
     * crm_goods_info
     */
    protected boolean distinct;

    /**
     * crm_goods_info
     */
    protected List<Criteria> oredCriteria;

    /**
     * crm_goods_info
     */
    public GoodsInfoQuery() {
        oredCriteria = new ArrayList<Criteria>();
    }

    /**
     * crm_goods_info
     */
    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    /**
     * crm_goods_info
     */
    public String getOrderByClause() {
        return orderByClause;
    }

    /**
     * crm_goods_info
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     * crm_goods_info
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     * crm_goods_info
     */
    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    /**
     * crm_goods_info
     */
    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    /**
     * crm_goods_info
     */
    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    /**
     * crm_goods_info
     */
    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    /**
     * crm_goods_info
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     * crm_goods_info
     */
    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * This class corresponds to the database table crm_goods_info
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }
        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }
        public Criteria andGoodsChNameEqualTo(String value) {
            addCriterion("ch_name =", value, "chName");
            return (Criteria) this;
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andChNameIsNull() {
            addCriterion("ch_name is null");
            return (Criteria) this;
        }

        public Criteria andChNameIsNotNull() {
            addCriterion("ch_name is not null");
            return (Criteria) this;
        }

        public Criteria andChNameEqualTo(String value) {
            addCriterion("ch_name =", value, "chName");
            return (Criteria) this;
        }

        public Criteria andChNameNotEqualTo(String value) {
            addCriterion("ch_name <>", value, "chName");
            return (Criteria) this;
        }

        public Criteria andChNameGreaterThan(String value) {
            addCriterion("ch_name >", value, "chName");
            return (Criteria) this;
        }

        public Criteria andChNameGreaterThanOrEqualTo(String value) {
            addCriterion("ch_name >=", value, "chName");
            return (Criteria) this;
        }

        public Criteria andChNameLessThan(String value) {
            addCriterion("ch_name <", value, "chName");
            return (Criteria) this;
        }

        public Criteria andChNameLessThanOrEqualTo(String value) {
            addCriterion("ch_name <=", value, "chName");
            return (Criteria) this;
        }

        public Criteria andChNameLike(String value) {
            addCriterion("ch_name like", value, "chName");
            return (Criteria) this;
        }

        public Criteria andChNameNotLike(String value) {
            addCriterion("ch_name not like", value, "chName");
            return (Criteria) this;
        }

        public Criteria andChNameIn(List<String> values) {
            addCriterion("ch_name in", values, "chName");
            return (Criteria) this;
        }

        public Criteria andChNameNotIn(List<String> values) {
            addCriterion("ch_name not in", values, "chName");
            return (Criteria) this;
        }

        public Criteria andChNameBetween(String value1, String value2) {
            addCriterion("ch_name between", value1, value2, "chName");
            return (Criteria) this;
        }

        public Criteria andChNameNotBetween(String value1, String value2) {
            addCriterion("ch_name not between", value1, value2, "chName");
            return (Criteria) this;
        }

        public Criteria andEnNameIsNull() {
            addCriterion("en_name is null");
            return (Criteria) this;
        }

        public Criteria andEnNameIsNotNull() {
            addCriterion("en_name is not null");
            return (Criteria) this;
        }

        public Criteria andEnNameEqualTo(String value) {
            addCriterion("en_name =", value, "enName");
            return (Criteria) this;
        }

        public Criteria andEnNameNotEqualTo(String value) {
            addCriterion("en_name <>", value, "enName");
            return (Criteria) this;
        }

        public Criteria andEnNameGreaterThan(String value) {
            addCriterion("en_name >", value, "enName");
            return (Criteria) this;
        }

        public Criteria andEnNameGreaterThanOrEqualTo(String value) {
            addCriterion("en_name >=", value, "enName");
            return (Criteria) this;
        }

        public Criteria andEnNameLessThan(String value) {
            addCriterion("en_name <", value, "enName");
            return (Criteria) this;
        }

        public Criteria andEnNameLessThanOrEqualTo(String value) {
            addCriterion("en_name <=", value, "enName");
            return (Criteria) this;
        }

        public Criteria andEnNameLike(String value) {
            addCriterion("en_name like", value, "enName");
            return (Criteria) this;
        }

        public Criteria andEnNameNotLike(String value) {
            addCriterion("en_name not like", value, "enName");
            return (Criteria) this;
        }

        public Criteria andEnNameIn(List<String> values) {
            addCriterion("en_name in", values, "enName");
            return (Criteria) this;
        }

        public Criteria andEnNameNotIn(List<String> values) {
            addCriterion("en_name not in", values, "enName");
            return (Criteria) this;
        }

        public Criteria andEnNameBetween(String value1, String value2) {
            addCriterion("en_name between", value1, value2, "enName");
            return (Criteria) this;
        }

        public Criteria andEnNameNotBetween(String value1, String value2) {
            addCriterion("en_name not between", value1, value2, "enName");
            return (Criteria) this;
        }

        public Criteria andEntIdIsNull() {
            addCriterion("ent_id is null");
            return (Criteria) this;
        }

        public Criteria andEntIdIsNotNull() {
            addCriterion("ent_id is not null");
            return (Criteria) this;
        }

        public Criteria andEntIdEqualTo(Integer value) {
            addCriterion("ent_id =", value, "entId");
            return (Criteria) this;
        }

        public Criteria andEntIdNotEqualTo(Integer value) {
            addCriterion("ent_id <>", value, "entId");
            return (Criteria) this;
        }

        public Criteria andEntIdGreaterThan(Integer value) {
            addCriterion("ent_id >", value, "entId");
            return (Criteria) this;
        }

        public Criteria andEntIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ent_id >=", value, "entId");
            return (Criteria) this;
        }

        public Criteria andEntIdLessThan(Integer value) {
            addCriterion("ent_id <", value, "entId");
            return (Criteria) this;
        }

        public Criteria andEntIdLessThanOrEqualTo(Integer value) {
            addCriterion("ent_id <=", value, "entId");
            return (Criteria) this;
        }

        public Criteria andEntIdIn(List<Integer> values) {
            addCriterion("ent_id in", values, "entId");
            return (Criteria) this;
        }

        public Criteria andEntIdNotIn(List<Integer> values) {
            addCriterion("ent_id not in", values, "entId");
            return (Criteria) this;
        }

        public Criteria andEntIdBetween(Integer value1, Integer value2) {
            addCriterion("ent_id between", value1, value2, "entId");
            return (Criteria) this;
        }

        public Criteria andEntIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ent_id not between", value1, value2, "entId");
            return (Criteria) this;
        }

        public Criteria andCodeIsNull() {
            addCriterion("code is null");
            return (Criteria) this;
        }

        public Criteria andCodeIsNotNull() {
            addCriterion("code is not null");
            return (Criteria) this;
        }

        public Criteria andCodeEqualTo(String value) {
            addCriterion("code =", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotEqualTo(String value) {
            addCriterion("code <>", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThan(String value) {
            addCriterion("code >", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThanOrEqualTo(String value) {
            addCriterion("code >=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThan(String value) {
            addCriterion("code <", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThanOrEqualTo(String value) {
            addCriterion("code <=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLike(String value) {
            addCriterion("code like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotLike(String value) {
            addCriterion("code not like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeIn(List<String> values) {
            addCriterion("code in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotIn(List<String> values) {
            addCriterion("code not in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeBetween(String value1, String value2) {
            addCriterion("code between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotBetween(String value1, String value2) {
            addCriterion("code not between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeIsNull() {
            addCriterion("category_code is null");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeIsNotNull() {
            addCriterion("category_code is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeEqualTo(String value) {
            addCriterion("category_code =", value, "categoryCode");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeNotEqualTo(String value) {
            addCriterion("category_code <>", value, "categoryCode");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeGreaterThan(String value) {
            addCriterion("category_code >", value, "categoryCode");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeGreaterThanOrEqualTo(String value) {
            addCriterion("category_code >=", value, "categoryCode");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeLessThan(String value) {
            addCriterion("category_code <", value, "categoryCode");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeLessThanOrEqualTo(String value) {
            addCriterion("category_code <=", value, "categoryCode");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeLike(String value) {
            addCriterion("category_code like", value, "categoryCode");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeNotLike(String value) {
            addCriterion("category_code not like", value, "categoryCode");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeIn(List<String> values) {
            addCriterion("category_code in", values, "categoryCode");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeNotIn(List<String> values) {
            addCriterion("category_code not in", values, "categoryCode");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeBetween(String value1, String value2) {
            addCriterion("category_code between", value1, value2, "categoryCode");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeNotBetween(String value1, String value2) {
            addCriterion("category_code not between", value1, value2, "categoryCode");
            return (Criteria) this;
        }

        public Criteria andStorageMethodIsNull() {
            addCriterion("storage_method is null");
            return (Criteria) this;
        }

        public Criteria andStorageMethodIsNotNull() {
            addCriterion("storage_method is not null");
            return (Criteria) this;
        }

        public Criteria andStorageMethodEqualTo(String value) {
            addCriterion("storage_method =", value, "storageMethod");
            return (Criteria) this;
        }

        public Criteria andStorageMethodNotEqualTo(String value) {
            addCriterion("storage_method <>", value, "storageMethod");
            return (Criteria) this;
        }

        public Criteria andStorageMethodGreaterThan(String value) {
            addCriterion("storage_method >", value, "storageMethod");
            return (Criteria) this;
        }

        public Criteria andStorageMethodGreaterThanOrEqualTo(String value) {
            addCriterion("storage_method >=", value, "storageMethod");
            return (Criteria) this;
        }

        public Criteria andStorageMethodLessThan(String value) {
            addCriterion("storage_method <", value, "storageMethod");
            return (Criteria) this;
        }

        public Criteria andStorageMethodLessThanOrEqualTo(String value) {
            addCriterion("storage_method <=", value, "storageMethod");
            return (Criteria) this;
        }

        public Criteria andStorageMethodLike(String value) {
            addCriterion("storage_method like", value, "storageMethod");
            return (Criteria) this;
        }

        public Criteria andStorageMethodNotLike(String value) {
            addCriterion("storage_method not like", value, "storageMethod");
            return (Criteria) this;
        }

        public Criteria andStorageMethodIn(List<String> values) {
            addCriterion("storage_method in", values, "storageMethod");
            return (Criteria) this;
        }

        public Criteria andStorageMethodNotIn(List<String> values) {
            addCriterion("storage_method not in", values, "storageMethod");
            return (Criteria) this;
        }

        public Criteria andStorageMethodBetween(String value1, String value2) {
            addCriterion("storage_method between", value1, value2, "storageMethod");
            return (Criteria) this;
        }

        public Criteria andStorageMethodNotBetween(String value1, String value2) {
            addCriterion("storage_method not between", value1, value2, "storageMethod");
            return (Criteria) this;
        }

        public Criteria andShelfLiftIsNull() {
            addCriterion("shelf_lift is null");
            return (Criteria) this;
        }

        public Criteria andShelfLiftIsNotNull() {
            addCriterion("shelf_lift is not null");
            return (Criteria) this;
        }

        public Criteria andShelfLiftEqualTo(String value) {
            addCriterion("shelf_lift =", value, "shelfLift");
            return (Criteria) this;
        }

        public Criteria andShelfLiftNotEqualTo(String value) {
            addCriterion("shelf_lift <>", value, "shelfLift");
            return (Criteria) this;
        }

        public Criteria andShelfLiftGreaterThan(String value) {
            addCriterion("shelf_lift >", value, "shelfLift");
            return (Criteria) this;
        }

        public Criteria andShelfLiftGreaterThanOrEqualTo(String value) {
            addCriterion("shelf_lift >=", value, "shelfLift");
            return (Criteria) this;
        }

        public Criteria andShelfLiftLessThan(String value) {
            addCriterion("shelf_lift <", value, "shelfLift");
            return (Criteria) this;
        }

        public Criteria andShelfLiftLessThanOrEqualTo(String value) {
            addCriterion("shelf_lift <=", value, "shelfLift");
            return (Criteria) this;
        }

        public Criteria andShelfLiftLike(String value) {
            addCriterion("shelf_lift like", value, "shelfLift");
            return (Criteria) this;
        }

        public Criteria andShelfLiftNotLike(String value) {
            addCriterion("shelf_lift not like", value, "shelfLift");
            return (Criteria) this;
        }

        public Criteria andShelfLiftIn(List<String> values) {
            addCriterion("shelf_lift in", values, "shelfLift");
            return (Criteria) this;
        }

        public Criteria andShelfLiftNotIn(List<String> values) {
            addCriterion("shelf_lift not in", values, "shelfLift");
            return (Criteria) this;
        }

        public Criteria andShelfLiftBetween(String value1, String value2) {
            addCriterion("shelf_lift between", value1, value2, "shelfLift");
            return (Criteria) this;
        }

        public Criteria andShelfLiftNotBetween(String value1, String value2) {
            addCriterion("shelf_lift not between", value1, value2, "shelfLift");
            return (Criteria) this;
        }

        public Criteria andSpecIsNull() {
            addCriterion("spec is null");
            return (Criteria) this;
        }

        public Criteria andSpecIsNotNull() {
            addCriterion("spec is not null");
            return (Criteria) this;
        }

        public Criteria andSpecEqualTo(String value) {
            addCriterion("spec =", value, "spec");
            return (Criteria) this;
        }

        public Criteria andSpecNotEqualTo(String value) {
            addCriterion("spec <>", value, "spec");
            return (Criteria) this;
        }

        public Criteria andSpecGreaterThan(String value) {
            addCriterion("spec >", value, "spec");
            return (Criteria) this;
        }

        public Criteria andSpecGreaterThanOrEqualTo(String value) {
            addCriterion("spec >=", value, "spec");
            return (Criteria) this;
        }

        public Criteria andSpecLessThan(String value) {
            addCriterion("spec <", value, "spec");
            return (Criteria) this;
        }

        public Criteria andSpecLessThanOrEqualTo(String value) {
            addCriterion("spec <=", value, "spec");
            return (Criteria) this;
        }

        public Criteria andSpecLike(String value) {
            addCriterion("spec like", value, "spec");
            return (Criteria) this;
        }

        public Criteria andSpecNotLike(String value) {
            addCriterion("spec not like", value, "spec");
            return (Criteria) this;
        }

        public Criteria andSpecIn(List<String> values) {
            addCriterion("spec in", values, "spec");
            return (Criteria) this;
        }

        public Criteria andSpecNotIn(List<String> values) {
            addCriterion("spec not in", values, "spec");
            return (Criteria) this;
        }

        public Criteria andSpecBetween(String value1, String value2) {
            addCriterion("spec between", value1, value2, "spec");
            return (Criteria) this;
        }

        public Criteria andSpecNotBetween(String value1, String value2) {
            addCriterion("spec not between", value1, value2, "spec");
            return (Criteria) this;
        }

        public Criteria andManufacturerIsNull() {
            addCriterion("manufacturer is null");
            return (Criteria) this;
        }

        public Criteria andManufacturerIsNotNull() {
            addCriterion("manufacturer is not null");
            return (Criteria) this;
        }

        public Criteria andManufacturerEqualTo(String value) {
            addCriterion("manufacturer =", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerNotEqualTo(String value) {
            addCriterion("manufacturer <>", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerGreaterThan(String value) {
            addCriterion("manufacturer >", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerGreaterThanOrEqualTo(String value) {
            addCriterion("manufacturer >=", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerLessThan(String value) {
            addCriterion("manufacturer <", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerLessThanOrEqualTo(String value) {
            addCriterion("manufacturer <=", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerLike(String value) {
            addCriterion("manufacturer like", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerNotLike(String value) {
            addCriterion("manufacturer not like", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerIn(List<String> values) {
            addCriterion("manufacturer in", values, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerNotIn(List<String> values) {
            addCriterion("manufacturer not in", values, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerBetween(String value1, String value2) {
            addCriterion("manufacturer between", value1, value2, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerNotBetween(String value1, String value2) {
            addCriterion("manufacturer not between", value1, value2, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andBrandIsNull() {
            addCriterion("brand is null");
            return (Criteria) this;
        }

        public Criteria andBrandIsNotNull() {
            addCriterion("brand is not null");
            return (Criteria) this;
        }

        public Criteria andBrandEqualTo(String value) {
            addCriterion("brand =", value, "brand");
            return (Criteria) this;
        }

        public Criteria andBrandNotEqualTo(String value) {
            addCriterion("brand <>", value, "brand");
            return (Criteria) this;
        }

        public Criteria andBrandGreaterThan(String value) {
            addCriterion("brand >", value, "brand");
            return (Criteria) this;
        }

        public Criteria andBrandGreaterThanOrEqualTo(String value) {
            addCriterion("brand >=", value, "brand");
            return (Criteria) this;
        }

        public Criteria andBrandLessThan(String value) {
            addCriterion("brand <", value, "brand");
            return (Criteria) this;
        }

        public Criteria andBrandLessThanOrEqualTo(String value) {
            addCriterion("brand <=", value, "brand");
            return (Criteria) this;
        }

        public Criteria andBrandLike(String value) {
            addCriterion("brand like", value, "brand");
            return (Criteria) this;
        }

        public Criteria andBrandNotLike(String value) {
            addCriterion("brand not like", value, "brand");
            return (Criteria) this;
        }

        public Criteria andBrandIn(List<String> values) {
            addCriterion("brand in", values, "brand");
            return (Criteria) this;
        }

        public Criteria andBrandNotIn(List<String> values) {
            addCriterion("brand not in", values, "brand");
            return (Criteria) this;
        }

        public Criteria andBrandBetween(String value1, String value2) {
            addCriterion("brand between", value1, value2, "brand");
            return (Criteria) this;
        }

        public Criteria andBrandNotBetween(String value1, String value2) {
            addCriterion("brand not between", value1, value2, "brand");
            return (Criteria) this;
        }

        public Criteria andProductStandNoIsNull() {
            addCriterion("product_stand_no is null");
            return (Criteria) this;
        }

        public Criteria andProductStandNoIsNotNull() {
            addCriterion("product_stand_no is not null");
            return (Criteria) this;
        }

        public Criteria andProductStandNoEqualTo(String value) {
            addCriterion("product_stand_no =", value, "productStandNo");
            return (Criteria) this;
        }

        public Criteria andProductStandNoNotEqualTo(String value) {
            addCriterion("product_stand_no <>", value, "productStandNo");
            return (Criteria) this;
        }

        public Criteria andProductStandNoGreaterThan(String value) {
            addCriterion("product_stand_no >", value, "productStandNo");
            return (Criteria) this;
        }

        public Criteria andProductStandNoGreaterThanOrEqualTo(String value) {
            addCriterion("product_stand_no >=", value, "productStandNo");
            return (Criteria) this;
        }

        public Criteria andProductStandNoLessThan(String value) {
            addCriterion("product_stand_no <", value, "productStandNo");
            return (Criteria) this;
        }

        public Criteria andProductStandNoLessThanOrEqualTo(String value) {
            addCriterion("product_stand_no <=", value, "productStandNo");
            return (Criteria) this;
        }

        public Criteria andProductStandNoLike(String value) {
            addCriterion("product_stand_no like", value, "productStandNo");
            return (Criteria) this;
        }

        public Criteria andProductStandNoNotLike(String value) {
            addCriterion("product_stand_no not like", value, "productStandNo");
            return (Criteria) this;
        }

        public Criteria andProductStandNoIn(List<String> values) {
            addCriterion("product_stand_no in", values, "productStandNo");
            return (Criteria) this;
        }

        public Criteria andProductStandNoNotIn(List<String> values) {
            addCriterion("product_stand_no not in", values, "productStandNo");
            return (Criteria) this;
        }

        public Criteria andProductStandNoBetween(String value1, String value2) {
            addCriterion("product_stand_no between", value1, value2, "productStandNo");
            return (Criteria) this;
        }

        public Criteria andProductStandNoNotBetween(String value1, String value2) {
            addCriterion("product_stand_no not between", value1, value2, "productStandNo");
            return (Criteria) this;
        }

        public Criteria andHasImportIsNull() {
            addCriterion("has_import is null");
            return (Criteria) this;
        }

        public Criteria andHasImportIsNotNull() {
            addCriterion("has_import is not null");
            return (Criteria) this;
        }

        public Criteria andHasImportEqualTo(String value) {
            addCriterion("has_import =", value, "hasImport");
            return (Criteria) this;
        }

        public Criteria andHasImportNotEqualTo(String value) {
            addCriterion("has_import <>", value, "hasImport");
            return (Criteria) this;
        }

        public Criteria andHasImportGreaterThan(String value) {
            addCriterion("has_import >", value, "hasImport");
            return (Criteria) this;
        }

        public Criteria andHasImportGreaterThanOrEqualTo(String value) {
            addCriterion("has_import >=", value, "hasImport");
            return (Criteria) this;
        }

        public Criteria andHasImportLessThan(String value) {
            addCriterion("has_import <", value, "hasImport");
            return (Criteria) this;
        }

        public Criteria andHasImportLessThanOrEqualTo(String value) {
            addCriterion("has_import <=", value, "hasImport");
            return (Criteria) this;
        }

        public Criteria andHasImportLike(String value) {
            addCriterion("has_import like", value, "hasImport");
            return (Criteria) this;
        }

        public Criteria andHasImportNotLike(String value) {
            addCriterion("has_import not like", value, "hasImport");
            return (Criteria) this;
        }

        public Criteria andHasImportIn(List<String> values) {
            addCriterion("has_import in", values, "hasImport");
            return (Criteria) this;
        }

        public Criteria andHasImportNotIn(List<String> values) {
            addCriterion("has_import not in", values, "hasImport");
            return (Criteria) this;
        }

        public Criteria andHasImportBetween(String value1, String value2) {
            addCriterion("has_import between", value1, value2, "hasImport");
            return (Criteria) this;
        }

        public Criteria andHasImportNotBetween(String value1, String value2) {
            addCriterion("has_import not between", value1, value2, "hasImport");
            return (Criteria) this;
        }

        public Criteria andHasSpecialIsNull() {
            addCriterion("has_special is null");
            return (Criteria) this;
        }

        public Criteria andHasSpecialIsNotNull() {
            addCriterion("has_special is not null");
            return (Criteria) this;
        }

        public Criteria andHasSpecialEqualTo(String value) {
            addCriterion("has_special =", value, "hasSpecial");
            return (Criteria) this;
        }

        public Criteria andHasSpecialNotEqualTo(String value) {
            addCriterion("has_special <>", value, "hasSpecial");
            return (Criteria) this;
        }

        public Criteria andHasSpecialGreaterThan(String value) {
            addCriterion("has_special >", value, "hasSpecial");
            return (Criteria) this;
        }

        public Criteria andHasSpecialGreaterThanOrEqualTo(String value) {
            addCriterion("has_special >=", value, "hasSpecial");
            return (Criteria) this;
        }

        public Criteria andHasSpecialLessThan(String value) {
            addCriterion("has_special <", value, "hasSpecial");
            return (Criteria) this;
        }

        public Criteria andHasSpecialLessThanOrEqualTo(String value) {
            addCriterion("has_special <=", value, "hasSpecial");
            return (Criteria) this;
        }

        public Criteria andHasSpecialLike(String value) {
            addCriterion("has_special like", value, "hasSpecial");
            return (Criteria) this;
        }

        public Criteria andHasSpecialNotLike(String value) {
            addCriterion("has_special not like", value, "hasSpecial");
            return (Criteria) this;
        }

        public Criteria andHasSpecialIn(List<String> values) {
            addCriterion("has_special in", values, "hasSpecial");
            return (Criteria) this;
        }

        public Criteria andHasSpecialNotIn(List<String> values) {
            addCriterion("has_special not in", values, "hasSpecial");
            return (Criteria) this;
        }

        public Criteria andHasSpecialBetween(String value1, String value2) {
            addCriterion("has_special between", value1, value2, "hasSpecial");
            return (Criteria) this;
        }

        public Criteria andHasSpecialNotBetween(String value1, String value2) {
            addCriterion("has_special not between", value1, value2, "hasSpecial");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceIsNull() {
            addCriterion("origin_place is null");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceIsNotNull() {
            addCriterion("origin_place is not null");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceEqualTo(String value) {
            addCriterion("origin_place =", value, "originPlace");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceNotEqualTo(String value) {
            addCriterion("origin_place <>", value, "originPlace");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceGreaterThan(String value) {
            addCriterion("origin_place >", value, "originPlace");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceGreaterThanOrEqualTo(String value) {
            addCriterion("origin_place >=", value, "originPlace");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceLessThan(String value) {
            addCriterion("origin_place <", value, "originPlace");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceLessThanOrEqualTo(String value) {
            addCriterion("origin_place <=", value, "originPlace");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceLike(String value) {
            addCriterion("origin_place like", value, "originPlace");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceNotLike(String value) {
            addCriterion("origin_place not like", value, "originPlace");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceIn(List<String> values) {
            addCriterion("origin_place in", values, "originPlace");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceNotIn(List<String> values) {
            addCriterion("origin_place not in", values, "originPlace");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceBetween(String value1, String value2) {
            addCriterion("origin_place between", value1, value2, "originPlace");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceNotBetween(String value1, String value2) {
            addCriterion("origin_place not between", value1, value2, "originPlace");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoIsNull() {
            addCriterion("product_license_no is null");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoIsNotNull() {
            addCriterion("product_license_no is not null");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoEqualTo(String value) {
            addCriterion("product_license_no =", value, "productLicenseNo");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoNotEqualTo(String value) {
            addCriterion("product_license_no <>", value, "productLicenseNo");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoGreaterThan(String value) {
            addCriterion("product_license_no >", value, "productLicenseNo");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoGreaterThanOrEqualTo(String value) {
            addCriterion("product_license_no >=", value, "productLicenseNo");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoLessThan(String value) {
            addCriterion("product_license_no <", value, "productLicenseNo");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoLessThanOrEqualTo(String value) {
            addCriterion("product_license_no <=", value, "productLicenseNo");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoLike(String value) {
            addCriterion("product_license_no like", value, "productLicenseNo");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoNotLike(String value) {
            addCriterion("product_license_no not like", value, "productLicenseNo");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoIn(List<String> values) {
            addCriterion("product_license_no in", values, "productLicenseNo");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoNotIn(List<String> values) {
            addCriterion("product_license_no not in", values, "productLicenseNo");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoBetween(String value1, String value2) {
            addCriterion("product_license_no between", value1, value2, "productLicenseNo");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoNotBetween(String value1, String value2) {
            addCriterion("product_license_no not between", value1, value2, "productLicenseNo");
            return (Criteria) this;
        }

        public Criteria andIngredientIsNull() {
            addCriterion("ingredient is null");
            return (Criteria) this;
        }

        public Criteria andIngredientIsNotNull() {
            addCriterion("ingredient is not null");
            return (Criteria) this;
        }

        public Criteria andIngredientEqualTo(String value) {
            addCriterion("ingredient =", value, "ingredient");
            return (Criteria) this;
        }

        public Criteria andIngredientNotEqualTo(String value) {
            addCriterion("ingredient <>", value, "ingredient");
            return (Criteria) this;
        }

        public Criteria andIngredientGreaterThan(String value) {
            addCriterion("ingredient >", value, "ingredient");
            return (Criteria) this;
        }

        public Criteria andIngredientGreaterThanOrEqualTo(String value) {
            addCriterion("ingredient >=", value, "ingredient");
            return (Criteria) this;
        }

        public Criteria andIngredientLessThan(String value) {
            addCriterion("ingredient <", value, "ingredient");
            return (Criteria) this;
        }

        public Criteria andIngredientLessThanOrEqualTo(String value) {
            addCriterion("ingredient <=", value, "ingredient");
            return (Criteria) this;
        }

        public Criteria andIngredientLike(String value) {
            addCriterion("ingredient like", value, "ingredient");
            return (Criteria) this;
        }

        public Criteria andIngredientNotLike(String value) {
            addCriterion("ingredient not like", value, "ingredient");
            return (Criteria) this;
        }

        public Criteria andIngredientIn(List<String> values) {
            addCriterion("ingredient in", values, "ingredient");
            return (Criteria) this;
        }

        public Criteria andIngredientNotIn(List<String> values) {
            addCriterion("ingredient not in", values, "ingredient");
            return (Criteria) this;
        }

        public Criteria andIngredientBetween(String value1, String value2) {
            addCriterion("ingredient between", value1, value2, "ingredient");
            return (Criteria) this;
        }

        public Criteria andIngredientNotBetween(String value1, String value2) {
            addCriterion("ingredient not between", value1, value2, "ingredient");
            return (Criteria) this;
        }

        public Criteria andFactGrossWeightIsNull() {
            addCriterion("fact_gross_weight is null");
            return (Criteria) this;
        }

        public Criteria andFactGrossWeightIsNotNull() {
            addCriterion("fact_gross_weight is not null");
            return (Criteria) this;
        }

        public Criteria andFactGrossWeightEqualTo(Double value) {
            addCriterion("fact_gross_weight =", value, "factGrossWeight");
            return (Criteria) this;
        }

        public Criteria andFactGrossWeightNotEqualTo(Double value) {
            addCriterion("fact_gross_weight <>", value, "factGrossWeight");
            return (Criteria) this;
        }

        public Criteria andFactGrossWeightGreaterThan(Double value) {
            addCriterion("fact_gross_weight >", value, "factGrossWeight");
            return (Criteria) this;
        }

        public Criteria andFactGrossWeightGreaterThanOrEqualTo(Double value) {
            addCriterion("fact_gross_weight >=", value, "factGrossWeight");
            return (Criteria) this;
        }

        public Criteria andFactGrossWeightLessThan(Double value) {
            addCriterion("fact_gross_weight <", value, "factGrossWeight");
            return (Criteria) this;
        }

        public Criteria andFactGrossWeightLessThanOrEqualTo(Double value) {
            addCriterion("fact_gross_weight <=", value, "factGrossWeight");
            return (Criteria) this;
        }

        public Criteria andFactGrossWeightIn(List<Double> values) {
            addCriterion("fact_gross_weight in", values, "factGrossWeight");
            return (Criteria) this;
        }

        public Criteria andFactGrossWeightNotIn(List<Double> values) {
            addCriterion("fact_gross_weight not in", values, "factGrossWeight");
            return (Criteria) this;
        }

        public Criteria andFactGrossWeightBetween(Double value1, Double value2) {
            addCriterion("fact_gross_weight between", value1, value2, "factGrossWeight");
            return (Criteria) this;
        }

        public Criteria andFactGrossWeightNotBetween(Double value1, Double value2) {
            addCriterion("fact_gross_weight not between", value1, value2, "factGrossWeight");
            return (Criteria) this;
        }

        public Criteria andRetailPriceIsNull() {
            addCriterion("retail_price is null");
            return (Criteria) this;
        }

        public Criteria andRetailPriceIsNotNull() {
            addCriterion("retail_price is not null");
            return (Criteria) this;
        }

        public Criteria andRetailPriceEqualTo(Double value) {
            addCriterion("retail_price =", value, "retailPrice");
            return (Criteria) this;
        }

        public Criteria andRetailPriceNotEqualTo(Double value) {
            addCriterion("retail_price <>", value, "retailPrice");
            return (Criteria) this;
        }

        public Criteria andRetailPriceGreaterThan(Double value) {
            addCriterion("retail_price >", value, "retailPrice");
            return (Criteria) this;
        }

        public Criteria andRetailPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("retail_price >=", value, "retailPrice");
            return (Criteria) this;
        }

        public Criteria andRetailPriceLessThan(Double value) {
            addCriterion("retail_price <", value, "retailPrice");
            return (Criteria) this;
        }

        public Criteria andRetailPriceLessThanOrEqualTo(Double value) {
            addCriterion("retail_price <=", value, "retailPrice");
            return (Criteria) this;
        }

        public Criteria andRetailPriceIn(List<Double> values) {
            addCriterion("retail_price in", values, "retailPrice");
            return (Criteria) this;
        }

        public Criteria andRetailPriceNotIn(List<Double> values) {
            addCriterion("retail_price not in", values, "retailPrice");
            return (Criteria) this;
        }

        public Criteria andRetailPriceBetween(Double value1, Double value2) {
            addCriterion("retail_price between", value1, value2, "retailPrice");
            return (Criteria) this;
        }

        public Criteria andRetailPriceNotBetween(Double value1, Double value2) {
            addCriterion("retail_price not between", value1, value2, "retailPrice");
            return (Criteria) this;
        }

        public Criteria andSummaryIsNull() {
            addCriterion("summary is null");
            return (Criteria) this;
        }

        public Criteria andSummaryIsNotNull() {
            addCriterion("summary is not null");
            return (Criteria) this;
        }

        public Criteria andSummaryEqualTo(String value) {
            addCriterion("summary =", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryNotEqualTo(String value) {
            addCriterion("summary <>", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryGreaterThan(String value) {
            addCriterion("summary >", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryGreaterThanOrEqualTo(String value) {
            addCriterion("summary >=", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryLessThan(String value) {
            addCriterion("summary <", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryLessThanOrEqualTo(String value) {
            addCriterion("summary <=", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryLike(String value) {
            addCriterion("summary like", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryNotLike(String value) {
            addCriterion("summary not like", value, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryIn(List<String> values) {
            addCriterion("summary in", values, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryNotIn(List<String> values) {
            addCriterion("summary not in", values, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryBetween(String value1, String value2) {
            addCriterion("summary between", value1, value2, "summary");
            return (Criteria) this;
        }

        public Criteria andSummaryNotBetween(String value1, String value2) {
            addCriterion("summary not between", value1, value2, "summary");
            return (Criteria) this;
        }

        public Criteria andCreateDtIsNull() {
            addCriterion("create_dt is null");
            return (Criteria) this;
        }

        public Criteria andCreateDtIsNotNull() {
            addCriterion("create_dt is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDtEqualTo(Date value) {
            addCriterion("create_dt =", value, "createDt");
            return (Criteria) this;
        }

        public Criteria andCreateDtNotEqualTo(Date value) {
            addCriterion("create_dt <>", value, "createDt");
            return (Criteria) this;
        }

        public Criteria andCreateDtGreaterThan(Date value) {
            addCriterion("create_dt >", value, "createDt");
            return (Criteria) this;
        }

        public Criteria andCreateDtGreaterThanOrEqualTo(Date value) {
            addCriterion("create_dt >=", value, "createDt");
            return (Criteria) this;
        }

        public Criteria andCreateDtLessThan(Date value) {
            addCriterion("create_dt <", value, "createDt");
            return (Criteria) this;
        }

        public Criteria andCreateDtLessThanOrEqualTo(Date value) {
            addCriterion("create_dt <=", value, "createDt");
            return (Criteria) this;
        }

        public Criteria andCreateDtIn(List<Date> values) {
            addCriterion("create_dt in", values, "createDt");
            return (Criteria) this;
        }

        public Criteria andCreateDtNotIn(List<Date> values) {
            addCriterion("create_dt not in", values, "createDt");
            return (Criteria) this;
        }

        public Criteria andCreateDtBetween(Date value1, Date value2) {
            addCriterion("create_dt between", value1, value2, "createDt");
            return (Criteria) this;
        }

        public Criteria andCreateDtNotBetween(Date value1, Date value2) {
            addCriterion("create_dt not between", value1, value2, "createDt");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(Integer value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(Integer value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(Integer value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(Integer value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(Integer value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(Integer value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<Integer> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<Integer> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(Integer value1, Integer value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(Integer value1, Integer value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDtIsNull() {
            addCriterion("last_update_dt is null");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDtIsNotNull() {
            addCriterion("last_update_dt is not null");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDtEqualTo(Date value) {
            addCriterion("last_update_dt =", value, "lastUpdateDt");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDtNotEqualTo(Date value) {
            addCriterion("last_update_dt <>", value, "lastUpdateDt");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDtGreaterThan(Date value) {
            addCriterion("last_update_dt >", value, "lastUpdateDt");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDtGreaterThanOrEqualTo(Date value) {
            addCriterion("last_update_dt >=", value, "lastUpdateDt");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDtLessThan(Date value) {
            addCriterion("last_update_dt <", value, "lastUpdateDt");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDtLessThanOrEqualTo(Date value) {
            addCriterion("last_update_dt <=", value, "lastUpdateDt");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDtIn(List<Date> values) {
            addCriterion("last_update_dt in", values, "lastUpdateDt");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDtNotIn(List<Date> values) {
            addCriterion("last_update_dt not in", values, "lastUpdateDt");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDtBetween(Date value1, Date value2) {
            addCriterion("last_update_dt between", value1, value2, "lastUpdateDt");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDtNotBetween(Date value1, Date value2) {
            addCriterion("last_update_dt not between", value1, value2, "lastUpdateDt");
            return (Criteria) this;
        }

        public Criteria andLastUpdateByIsNull() {
            addCriterion("last_update_by is null");
            return (Criteria) this;
        }

        public Criteria andLastUpdateByIsNotNull() {
            addCriterion("last_update_by is not null");
            return (Criteria) this;
        }

        public Criteria andLastUpdateByEqualTo(Integer value) {
            addCriterion("last_update_by =", value, "lastUpdateBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdateByNotEqualTo(Integer value) {
            addCriterion("last_update_by <>", value, "lastUpdateBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdateByGreaterThan(Integer value) {
            addCriterion("last_update_by >", value, "lastUpdateBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdateByGreaterThanOrEqualTo(Integer value) {
            addCriterion("last_update_by >=", value, "lastUpdateBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdateByLessThan(Integer value) {
            addCriterion("last_update_by <", value, "lastUpdateBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdateByLessThanOrEqualTo(Integer value) {
            addCriterion("last_update_by <=", value, "lastUpdateBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdateByIn(List<Integer> values) {
            addCriterion("last_update_by in", values, "lastUpdateBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdateByNotIn(List<Integer> values) {
            addCriterion("last_update_by not in", values, "lastUpdateBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdateByBetween(Integer value1, Integer value2) {
            addCriterion("last_update_by between", value1, value2, "lastUpdateBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdateByNotBetween(Integer value1, Integer value2) {
            addCriterion("last_update_by not between", value1, value2, "lastUpdateBy");
            return (Criteria) this;
        }

        public Criteria andStsIsNull() {
            addCriterion("sts is null");
            return (Criteria) this;
        }

        public Criteria andStsIsNotNull() {
            addCriterion("sts is not null");
            return (Criteria) this;
        }

        public Criteria andStsEqualTo(String value) {
            addCriterion("sts =", value, "sts");
            return (Criteria) this;
        }

        public Criteria andStsNotEqualTo(String value) {
            addCriterion("sts <>", value, "sts");
            return (Criteria) this;
        }

        public Criteria andStsGreaterThan(String value) {
            addCriterion("sts >", value, "sts");
            return (Criteria) this;
        }

        public Criteria andStsGreaterThanOrEqualTo(String value) {
            addCriterion("sts >=", value, "sts");
            return (Criteria) this;
        }

        public Criteria andStsLessThan(String value) {
            addCriterion("sts <", value, "sts");
            return (Criteria) this;
        }

        public Criteria andStsLessThanOrEqualTo(String value) {
            addCriterion("sts <=", value, "sts");
            return (Criteria) this;
        }

        public Criteria andStsLike(String value) {
            addCriterion("sts like", value, "sts");
            return (Criteria) this;
        }

        public Criteria andStsNotLike(String value) {
            addCriterion("sts not like", value, "sts");
            return (Criteria) this;
        }

        public Criteria andStsIn(List<String> values) {
            addCriterion("sts in", values, "sts");
            return (Criteria) this;
        }

        public Criteria andStsNotIn(List<String> values) {
            addCriterion("sts not in", values, "sts");
            return (Criteria) this;
        }

        public Criteria andStsBetween(String value1, String value2) {
            addCriterion("sts between", value1, value2, "sts");
            return (Criteria) this;
        }

        public Criteria andStsNotBetween(String value1, String value2) {
            addCriterion("sts not between", value1, value2, "sts");
            return (Criteria) this;
        }

        public Criteria andBarCodeIsNull() {
            addCriterion("bar_code is null");
            return (Criteria) this;
        }

        public Criteria andBarCodeIsNotNull() {
            addCriterion("bar_code is not null");
            return (Criteria) this;
        }

        public Criteria andBarCodeEqualTo(String value) {
            addCriterion("bar_code =", value, "barCode");
            return (Criteria) this;
        }

        public Criteria andBarCodeNotEqualTo(String value) {
            addCriterion("bar_code <>", value, "barCode");
            return (Criteria) this;
        }

        public Criteria andBarCodeGreaterThan(String value) {
            addCriterion("bar_code >", value, "barCode");
            return (Criteria) this;
        }

        public Criteria andBarCodeGreaterThanOrEqualTo(String value) {
            addCriterion("bar_code >=", value, "barCode");
            return (Criteria) this;
        }

        public Criteria andBarCodeLessThan(String value) {
            addCriterion("bar_code <", value, "barCode");
            return (Criteria) this;
        }

        public Criteria andBarCodeLessThanOrEqualTo(String value) {
            addCriterion("bar_code <=", value, "barCode");
            return (Criteria) this;
        }

        public Criteria andBarCodeLike(String value) {
            addCriterion("bar_code like", value, "barCode");
            return (Criteria) this;
        }

        public Criteria andBarCodeNotLike(String value) {
            addCriterion("bar_code not like", value, "barCode");
            return (Criteria) this;
        }

        public Criteria andBarCodeIn(List<String> values) {
            addCriterion("bar_code in", values, "barCode");
            return (Criteria) this;
        }

        public Criteria andBarCodeNotIn(List<String> values) {
            addCriterion("bar_code not in", values, "barCode");
            return (Criteria) this;
        }

        public Criteria andBarCodeBetween(String value1, String value2) {
            addCriterion("bar_code between", value1, value2, "barCode");
            return (Criteria) this;
        }

        public Criteria andBarCodeNotBetween(String value1, String value2) {
            addCriterion("bar_code not between", value1, value2, "barCode");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsIsNull() {
            addCriterion("order_audit_sts is null");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsIsNotNull() {
            addCriterion("order_audit_sts is not null");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsEqualTo(String value) {
            addCriterion("order_audit_sts =", value, "orderAuditSts");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsNotEqualTo(String value) {
            addCriterion("order_audit_sts <>", value, "orderAuditSts");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsGreaterThan(String value) {
            addCriterion("order_audit_sts >", value, "orderAuditSts");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsGreaterThanOrEqualTo(String value) {
            addCriterion("order_audit_sts >=", value, "orderAuditSts");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsLessThan(String value) {
            addCriterion("order_audit_sts <", value, "orderAuditSts");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsLessThanOrEqualTo(String value) {
            addCriterion("order_audit_sts <=", value, "orderAuditSts");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsLike(String value) {
            addCriterion("order_audit_sts like", value, "orderAuditSts");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsNotLike(String value) {
            addCriterion("order_audit_sts not like", value, "orderAuditSts");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsIn(List<String> values) {
            addCriterion("order_audit_sts in", values, "orderAuditSts");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsNotIn(List<String> values) {
            addCriterion("order_audit_sts not in", values, "orderAuditSts");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsBetween(String value1, String value2) {
            addCriterion("order_audit_sts between", value1, value2, "orderAuditSts");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsNotBetween(String value1, String value2) {
            addCriterion("order_audit_sts not between", value1, value2, "orderAuditSts");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonIsNull() {
            addCriterion("order_reject_reason is null");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonIsNotNull() {
            addCriterion("order_reject_reason is not null");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonEqualTo(String value) {
            addCriterion("order_reject_reason =", value, "orderRejectReason");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonNotEqualTo(String value) {
            addCriterion("order_reject_reason <>", value, "orderRejectReason");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonGreaterThan(String value) {
            addCriterion("order_reject_reason >", value, "orderRejectReason");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonGreaterThanOrEqualTo(String value) {
            addCriterion("order_reject_reason >=", value, "orderRejectReason");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonLessThan(String value) {
            addCriterion("order_reject_reason <", value, "orderRejectReason");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonLessThanOrEqualTo(String value) {
            addCriterion("order_reject_reason <=", value, "orderRejectReason");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonLike(String value) {
            addCriterion("order_reject_reason like", value, "orderRejectReason");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonNotLike(String value) {
            addCriterion("order_reject_reason not like", value, "orderRejectReason");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonIn(List<String> values) {
            addCriterion("order_reject_reason in", values, "orderRejectReason");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonNotIn(List<String> values) {
            addCriterion("order_reject_reason not in", values, "orderRejectReason");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonBetween(String value1, String value2) {
            addCriterion("order_reject_reason between", value1, value2, "orderRejectReason");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonNotBetween(String value1, String value2) {
            addCriterion("order_reject_reason not between", value1, value2, "orderRejectReason");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andChNameLikeInsensitive(String value) {
            addCriterion("upper(ch_name) like", value.toUpperCase(), "chName");
            return (Criteria) this;
        }

        public Criteria andEnNameLikeInsensitive(String value) {
            addCriterion("upper(en_name) like", value.toUpperCase(), "enName");
            return (Criteria) this;
        }

        public Criteria andCodeLikeInsensitive(String value) {
            addCriterion("upper(code) like", value.toUpperCase(), "code");
            return (Criteria) this;
        }

        public Criteria andCategoryCodeLikeInsensitive(String value) {
            addCriterion("upper(category_code) like", value.toUpperCase(), "categoryCode");
            return (Criteria) this;
        }

        public Criteria andStorageMethodLikeInsensitive(String value) {
            addCriterion("upper(storage_method) like", value.toUpperCase(), "storageMethod");
            return (Criteria) this;
        }

        public Criteria andShelfLiftLikeInsensitive(String value) {
            addCriterion("upper(shelf_lift) like", value.toUpperCase(), "shelfLift");
            return (Criteria) this;
        }

        public Criteria andSpecLikeInsensitive(String value) {
            addCriterion("upper(spec) like", value.toUpperCase(), "spec");
            return (Criteria) this;
        }

        public Criteria andManufacturerLikeInsensitive(String value) {
            addCriterion("upper(manufacturer) like", value.toUpperCase(), "manufacturer");
            return (Criteria) this;
        }

        public Criteria andBrandLikeInsensitive(String value) {
            addCriterion("upper(brand) like", value.toUpperCase(), "brand");
            return (Criteria) this;
        }

        public Criteria andProductStandNoLikeInsensitive(String value) {
            addCriterion("upper(product_stand_no) like", value.toUpperCase(), "productStandNo");
            return (Criteria) this;
        }

        public Criteria andHasImportLikeInsensitive(String value) {
            addCriterion("upper(has_import) like", value.toUpperCase(), "hasImport");
            return (Criteria) this;
        }

        public Criteria andHasSpecialLikeInsensitive(String value) {
            addCriterion("upper(has_special) like", value.toUpperCase(), "hasSpecial");
            return (Criteria) this;
        }

        public Criteria andOriginPlaceLikeInsensitive(String value) {
            addCriterion("upper(origin_place) like", value.toUpperCase(), "originPlace");
            return (Criteria) this;
        }

        public Criteria andProductLicenseNoLikeInsensitive(String value) {
            addCriterion("upper(product_license_no) like", value.toUpperCase(), "productLicenseNo");
            return (Criteria) this;
        }

        public Criteria andIngredientLikeInsensitive(String value) {
            addCriterion("upper(ingredient) like", value.toUpperCase(), "ingredient");
            return (Criteria) this;
        }

        public Criteria andSummaryLikeInsensitive(String value) {
            addCriterion("upper(summary) like", value.toUpperCase(), "summary");
            return (Criteria) this;
        }

        public Criteria andStsLikeInsensitive(String value) {
            addCriterion("upper(sts) like", value.toUpperCase(), "sts");
            return (Criteria) this;
        }

        public Criteria andBarCodeLikeInsensitive(String value) {
            addCriterion("upper(bar_code) like", value.toUpperCase(), "barCode");
            return (Criteria) this;
        }

        public Criteria andOrderAuditStsLikeInsensitive(String value) {
            addCriterion("upper(order_audit_sts) like", value.toUpperCase(), "orderAuditSts");
            return (Criteria) this;
        }

        public Criteria andOrderRejectReasonLikeInsensitive(String value) {
            addCriterion("upper(order_reject_reason) like", value.toUpperCase(), "orderRejectReason");
            return (Criteria) this;
        }

        public Criteria andRemarkLikeInsensitive(String value) {
            addCriterion("upper(remark) like", value.toUpperCase(), "remark");
            return (Criteria) this;
        }
    }

    /**
     * crm_goods_info
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     * This class corresponds to the database table crm_goods_info
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}